package com.ruoyi.mes.domain;

import java.math.BigDecimal;
import java.util.List;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 完工汇报对象 mes_job_done
 * 
 * @author ruoyi
 * @date 2021-12-16
 */
public class MesJobDone extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 主键 */
    private String jobDoneUuid;

    /** 加工单表id */
    @Excel(name = "加工单表id")
    private String fkMesWorkUuid;

    /** 班组（部门表ID，外键） */
    @Excel(name = "班组", readConverterExp = "部=门表ID，外键")
    private Long fkDeptId;

    /** 负责人（用户表ID，外键） */
    @Excel(name = "负责人", readConverterExp = "用=户表ID，外键")
    private Long fkUserId;

    /** 指派质检员（外键） */
    @Excel(name = "指派质检员", readConverterExp = "外=键")
    private Long fkUserIdQc;

    /** 开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dtStart;

    /** 完工时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "完工时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date dtDone;

    /** 完工数量 */
    @Excel(name = "完工数量")
    private BigDecimal doneQty;

    /** 实际备注 */
    @Excel(name = "实际备注")
    private String actualNote;

    /** 汇报时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "汇报时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date docDt;

    @Excel(name = "单据编号")
    private String docNum;

    /** 审核状态 */
    @Excel(name = "审核状态")
    private String oaDictConfirmStatus;
    /** 经办人 */
    @Excel(name = "经办人")
    private String jobDoneUserName;
    private String attentionUserName;
    private String sysYesNoQc;
    private String itemSpecification;
    private BigDecimal totalQuotaQtyMin;
    private BigDecimal quotaQtyMin;


    /** 审核人 */
    @Excel(name = "审核人")
    private Long fkConfirmUserId;

    /** 审核时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "审核时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date confirmDt;

    /** 单据时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "单据时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date workDocDt;
 /** 单据时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    @Excel(name = "单据时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm")
    private Date docDtDone;

    /** 审核意见 */
    @Excel(name = "审核意见")
    private String confirmNote;
    private String workDocNum;
    private String processContent;
    private String mesDictProcessCode;
    private String mesDictProcessName;
    private String mesDictProcessType;
    private String wmsDictMeasuringUnit;
    private BigDecimal totalWorkingHours;
    private BigDecimal totalQuotaWorkingHours;
    private BigDecimal doneQuotaWorkingHours;
    private String confirmNickName;
    private String qcAttentionUserName;

    public String getItemSpecification() {
        return itemSpecification;
    }

    public void setItemSpecification(String itemSpecification) {
        this.itemSpecification = itemSpecification;
    }

    public Date getDocDtDone() {
        return docDtDone;
    }

    public void setDocDtDone(Date docDtDone) {
        this.docDtDone = docDtDone;
    }

    public String getQcAttentionUserName() {
        return qcAttentionUserName;
    }

    public void setQcAttentionUserName(String qcAttentionUserName) {
        this.qcAttentionUserName = qcAttentionUserName;
    }

    public BigDecimal getQuotaQtyMin() {
        return quotaQtyMin;
    }

    public void setQuotaQtyMin(BigDecimal quotaQtyMin) {
        this.quotaQtyMin = quotaQtyMin;
    }

    public BigDecimal getTotalQuotaQtyMin() {
        return totalQuotaQtyMin;
    }

    public void setTotalQuotaQtyMin(BigDecimal totalQuotaQtyMin) {
        this.totalQuotaQtyMin = totalQuotaQtyMin;
    }

    private String dtDocStartBegin;

    private String dtDocStartEnd;

    private String dtDocFinishBegin;

    private String dtDocFinishEnd;

    public String getConfirmNickName() {
        return confirmNickName;
    }

    public void setConfirmNickName(String confirmNickName) {
        this.confirmNickName = confirmNickName;
    }

    public String getDtDocStartBegin() {
        return dtDocStartBegin;
    }

    public void setDtDocStartBegin(String dtDocStartBegin) {
        this.dtDocStartBegin = dtDocStartBegin;
    }

    public String getDtDocStartEnd() {
        return dtDocStartEnd;
    }

    public void setDtDocStartEnd(String dtDocStartEnd) {
        this.dtDocStartEnd = dtDocStartEnd;
    }

    public String getDtDocFinishBegin() {
        return dtDocFinishBegin;
    }

    public void setDtDocFinishBegin(String dtDocFinishBegin) {
        this.dtDocFinishBegin = dtDocFinishBegin;
    }

    public String getDtDocFinishEnd() {
        return dtDocFinishEnd;
    }

    public void setDtDocFinishEnd(String dtDocFinishEnd) {
        this.dtDocFinishEnd = dtDocFinishEnd;
    }

    public String getSysYesNoQc() {
        return sysYesNoQc;
    }

    public void setSysYesNoQc(String sysYesNoQc) {
        this.sysYesNoQc = sysYesNoQc;
    }

    public String getWmsDictMeasuringUnit() {
        return wmsDictMeasuringUnit;
    }

    public void setWmsDictMeasuringUnit(String wmsDictMeasuringUnit) {
        this.wmsDictMeasuringUnit = wmsDictMeasuringUnit;
    }

    public BigDecimal getDoneQuotaWorkingHours() {
        return doneQuotaWorkingHours;
    }

    public void setDoneQuotaWorkingHours(BigDecimal doneQuotaWorkingHours) {
        this.doneQuotaWorkingHours = doneQuotaWorkingHours;
    }

    public BigDecimal getTotalWorkingHours() {
        return totalWorkingHours;
    }

    public void setTotalWorkingHours(BigDecimal totalWorkingHours) {
        this.totalWorkingHours = totalWorkingHours;
    }

    public BigDecimal getTotalQuotaWorkingHours() {
        return totalQuotaWorkingHours;
    }

    public void setTotalQuotaWorkingHours(BigDecimal totalQuotaWorkingHours) {
        this.totalQuotaWorkingHours = totalQuotaWorkingHours;
    }

    public String getAttentionUserName() {
        return attentionUserName;
    }

    public void setAttentionUserName(String attentionUserName) {
        this.attentionUserName = attentionUserName;
    }

    public String getWorkDocNum() {
        return workDocNum;
    }

    public void setWorkDocNum(String workDocNum) {
        this.workDocNum = workDocNum;
    }

    public String getProcessContent() {
        return processContent;
    }

    public void setProcessContent(String processContent) {
        this.processContent = processContent;
    }

    public String getMesDictProcessCode() {
        return mesDictProcessCode;
    }

    public void setMesDictProcessCode(String mesDictProcessCode) {
        this.mesDictProcessCode = mesDictProcessCode;
    }

    public String getMesDictProcessName() {
        return mesDictProcessName;
    }

    public void setMesDictProcessName(String mesDictProcessName) {
        this.mesDictProcessName = mesDictProcessName;
    }

    public String getMesDictProcessType() {
        return mesDictProcessType;
    }

    public void setMesDictProcessType(String mesDictProcessType) {
        this.mesDictProcessType = mesDictProcessType;
    }

    public String getJobDoneUserName() {
        return jobDoneUserName;
    }

    public void setJobDoneUserName(String jobDoneUserName) {
        this.jobDoneUserName = jobDoneUserName;
    }

    public Date getWorkDocDt() {
        return workDocDt;
    }

    public void setWorkDocDt(Date workDocDt) {
        this.workDocDt = workDocDt;
    }

    /** 完工汇报（工人、工时）信息 */
    private List<MesJobDoneWorkers> mesJobDoneWorkersList;

    public void setJobDoneUuid(String jobDoneUuid) 
    {
        this.jobDoneUuid = jobDoneUuid;
    }

    public String getJobDoneUuid() 
    {
        return jobDoneUuid;
    }
    public void setFkMesWorkUuid(String fkMesWorkUuid) 
    {
        this.fkMesWorkUuid = fkMesWorkUuid;
    }

    public String getFkMesWorkUuid() 
    {
        return fkMesWorkUuid;
    }
    public void setFkDeptId(Long fkDeptId) 
    {
        this.fkDeptId = fkDeptId;
    }

    public Long getFkDeptId() 
    {
        return fkDeptId;
    }
    public void setFkUserId(Long fkUserId) 
    {
        this.fkUserId = fkUserId;
    }

    public Long getFkUserId() 
    {
        return fkUserId;
    }
    public void setFkUserIdQc(Long fkUserIdQc) 
    {
        this.fkUserIdQc = fkUserIdQc;
    }

    public Long getFkUserIdQc() 
    {
        return fkUserIdQc;
    }
    public void setDtStart(Date dtStart) 
    {
        this.dtStart = dtStart;
    }

    public Date getDtStart() 
    {
        return dtStart;
    }
    public void setDtDone(Date dtDone) 
    {
        this.dtDone = dtDone;
    }

    public Date getDtDone() 
    {
        return dtDone;
    }
    public void setDoneQty(BigDecimal doneQty) 
    {
        this.doneQty = doneQty;
    }

    public BigDecimal getDoneQty() 
    {
        return doneQty;
    }
    public void setActualNote(String actualNote) 
    {
        this.actualNote = actualNote;
    }

    public String getActualNote() 
    {
        return actualNote;
    }

    public void setFkConfirmUserId(Long fkConfirmUserId) 
    {
        this.fkConfirmUserId = fkConfirmUserId;
    }

    public List<MesJobDoneWorkers> getMesJobDoneWorkersList()
    {
        return mesJobDoneWorkersList;
    }

    public void setMesJobDoneWorkersList(List<MesJobDoneWorkers> mesJobDoneWorkersList)
    {
        this.mesJobDoneWorkersList = mesJobDoneWorkersList;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("jobDoneUuid", getJobDoneUuid())
            .append("fkMesWorkUuid", getFkMesWorkUuid())
            .append("fkDeptId", getFkDeptId())
            .append("fkUserId", getFkUserId())
            .append("fkUserIdQc", getFkUserIdQc())
            .append("dtStart", getDtStart())
            .append("dtDone", getDtDone())
            .append("doneQty", getDoneQty())
            .append("actualNote", getActualNote())
            .append("docDt", getDocDt())
            .append("oaDictConfirmStatus", getOaDictConfirmStatus())
            .append("fkConfirmUserId", getFkConfirmUserId())
            .append("confirmDt", getConfirmDt())
            .append("confirmNote", getConfirmNote())
            .append("mesJobDoneWorkersList", getMesJobDoneWorkersList())
            .toString();
    }
}
